#ifndef UNKNOWNTYPEEXCEPTION_H_
#define UNKNOWNTYPEEXCEPTION_H_

#include <exception>
#include <string>
#include <boost/any.hpp>

namespace PComunicator
{

class UnknownTypeException : public std::exception
{
	public:
		UnknownTypeException(boost::any theType)
		{
			std::string aTypeName(theType.type().name());
			myMessage = "The given data of type " + aTypeName + " is not supported";
		}

		~UnknownTypeException() throw()
		{}

		virtual const char* what() const throw()
		{
			return myMessage.c_str();
		}

	private:
		std::string myMessage;
};

}

#endif